home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / aminet / dev / lang / ace102.lha / bin / bas < prev    next >
AmigaDOS Script File  |  1993-04-18  |  2KB  |  81 lines

  1. .key arg1,arg2,arg3
  2.  
  3. ; ** compile, assemble and link an ACE program **
  4.  
  5. ; make sure stack is big enough.
  6. stack 40000
  7.  
  8. ; don't abort script if ACE or APP quits 
  9. ; with a return code of 10 (ERROR).
  10. failat 11
  11.  
  12. IF <arg2> GT ""
  13.  
  14.  ; at least 2 arguments: <arg1> = compiler options.
  15.  ;             <arg2> = ACE source file.
  16.  ;             <arg3> = extra object module/library to link.
  17.  
  18.  ; preprocess source file.
  19.  app <arg2>.b ram:t/<arg2>.b
  20.  IF NOT ERROR
  21.  
  22.    ; compile preprocessed source file.
  23.    ace <arg1> ram:t/<arg2>
  24.  
  25.    IF NOT ERROR
  26.      ; assemble and link
  27.      delete > NIL: ram:t/<arg2>.b
  28.      a68k  ram:t/<arg2>.s 
  29.      delete > NIL: ram:t/<arg2>.s
  30.      blink ram:t/<arg2>.o LIB <arg3>+ACElib:startup.lib+ACElib:db.lib+
  31.                   ACElib:ami.lib SMALLCODE SMALLDATA
  32.  
  33.      ; leave us with the executable (and icon?).
  34.      copy ram:t/<arg2> ""
  35.  
  36.      exist ram:t/<arg2>.info
  37.      IF NOT ERROR
  38.        copy ram:t/<arg2>.info ""
  39.      ENDIF
  40.  
  41.      ; kill remaining temporary files.
  42.      delete > NIL: ram:t/<arg2>#?
  43.    ENDIF
  44.  
  45.  ENDIF
  46.  
  47. ELSE 
  48.  
  49.  ; no compiler options: <arg1> = ACE source file.
  50.  ;            <arg2> = extra object module/library to link.
  51.  
  52.  app <arg1>.b ram:t/<arg1>.b
  53.  
  54.  IF NOT ERROR
  55.  
  56.    ; compile source file.
  57.    ace ram:t/<arg1>
  58.  
  59.    IF NOT ERROR
  60.      ; assemble and link.
  61.      delete > NIL: ram:t/<arg1>.b
  62.      a68k  ram:t/<arg1>.s 
  63.      delete > NIL: ram:t/<arg1>.s
  64.      blink ram:t/<arg1>.o LIB <arg2>+ACElib:startup.lib+ACElib:db.lib+
  65.                        ACElib:ami.lib SMALLCODE SMALLDATA
  66.  
  67.      ; leave us with the executable (and icon?).
  68.      copy ram:t/<arg1> ""
  69.    
  70.      exist ram:t/<arg1>.info
  71.      IF NOT ERROR
  72.        copy ram:t/<arg1>.info ""
  73.      ENDIF
  74.  
  75.      ; kill remaining temporary files.
  76.      delete > NIL: ram:t/<arg1>#?
  77.    ENDIF
  78.  ENDIF
  79.  
  80. ENDIF
  81.